Digital sample rate conversion is used in many types of digital systems. Audio signals, such as might be generated in making recordings of music, are often processed digitally. The various pieces of equipment used to process and record the signals will not always operate at the same sampling frequency. As a result, it often necessary that each piece of equipment accept a digital signal sampled at a first rate and then convert it to a digital signal with second sampling rate before processing it. The information content of the signal must not be appreciably changed by the sample rate conversion or the sound quality of the signal might be degraded.
A very simple way to accomplish sample rate conversion is to simply drop out samples from the first signal. The output wave form thus has fewer samples per second and therefore has a lower sample rate. Assuming the Nyquist criterion is met in the output signal, it is accurate representation of the same signal as the input. This process is call "decimation." It is limited, though to situations in which sampling rate of the input is an integer multiple of the sampling rate of the output.
A process called interpolation may be used when the sampling rate of the output is intended to be an integer multiple higher than the sampling rate of the input signal. In an interpolation operation, an intermediate signal is first produced by filling the time between samples of the input signal with samples which are arbitrarily assigned the value of zero. The intermediate signal is called a "zero stuffed" signal. Because samples are added while the time span is kept the same, the zero stuff signal has a higher sampling rate than the input signal. The higher frequency zero-stuffed signal is filtered in a digital interpolation filter which smoothes out the discontinuities caused by adding the extra samples. The result is a digital signal which has the same shape as the input signal, but contains more samples per second.
The processes of decimation and interpolation may be combined. For example, a circuit could decimate by a factor of M and interpolate by a factor of L. The resulting output would have a sampling rate in a ratio of L/M to the input sampling rate. Such a circuit is limited to scaling the sample rate by a whole number. More importantly, for a digital signal there are practical limits on the ranges of values for M and L. M cannot be so large that the decimated signal no longer satisfies the Nyquist rate. L cannot be made arbitrarily large because the complexity of the interpolation filters increases as L gets larger.
One method of resampling that has been widely used is when the input digital signal is converted back to an analog signal. It is filtered to smooth out discontinuities and then introduced in the digital analog conversion process and then resampled at a second rate to produce an output signal with the desired sampling rate. This type of resampling still has limitations because analog to digital converters are often expensive and multiple conversion operations will likely introduce noise into the signal. This technique also has a disadvantage of distortions due to nonlinearities, intermodulation, imperfect phase response and noise which are inherent in the system.
The type of resampling schemes described above may be used in a coder/decoder which is commonly known as a codec. A codec is used in telecommunications systems. The codec is used to convert a signal, through an analog to digital conversion to digital data and then to reconstitute the signal by performing a digital to analog conversion of the signal data and passing the resulting signal through a receive filter. The analog to digital conversion of the signal is accomplished by taking periodic samples of the signal. The periodic sampling of the signal is governed by the sampling theorem. For a codec, the sampling is done at an eight kilohertz rate which means that at every 125 microseconds a point on the sign wave is sampled.
A codec is often used for converting voice data stored on a compact disc (CD). The voice data on a CD takes advantage of the enormous storage capability of a CD. It generally covers a much bigger range of amplitude than is needed and has embedded error correction in. Resampling is often used to take voice data archived on a CD and convert it for use on a codec which is a very common device for converting digitally sampled voice on phones. The use of a codec in this situation is superior to what is described in the prior art, because past solutions have used high fidelity tapes and analog equipment that requires a lot of memory and were considerably expensive to build.